package dfbz.Iterator迭代器;
/*
 * Iterator 迭代器接口  可以遍历所有的单列集合
 * 迭代：在取元素之前先判断集合中有没有这个元素，有就取出来，继续判断，一直到集合中的元素全部取出为止
 *
 * Iterator<E> iterator() 返回迭代器的实现类 泛型跟着集合走
 *
 * 迭代器成员方法：
 *   boolean hasNext()  判断集合中是否还有下一个元素，有true 没有则false
 *   E next() 取出集合中的下一个元素
 *       NoSuchElementException 没有元素异常  集合中没有元素了还要继续取出则报异常
 *
 * 迭代器原理：在迭代器创建的过程中，指针指向-1索引
 *   hasNext()  判断集合中是否还有下一个元素，有true 没有则false
 *   next()
 *       1、取出下一个元素
 *       2、会把指针向后移动一位
 * */


import java.util.ArrayList;
import java.util.Collection;

public class Test {
    public static void main(String[] args) {
        Collection<String> objects = new ArrayList<>();
        objects.add("1");
        objects.add("2");
        objects.add("3");
        objects.add("4");
        for(String str:objects){
            System.out.println(str);
        }
        int[] arr={1,2,3,4,5,6,7};
        for(Integer num:arr){
            System.out.println(num);
        }
    }
}
